The Evolution of Design Pattern Grime: An Industrial Case Study
نویسندگان
چکیده
Context: GoF design patterns are popular among both researchers and practitioners, in the sense that software can be largely comprised of pattern instances. However, there are concerns regarding the efficacy with which software engineers maintain pattern instances, which tend to decay over the software lifetime if no special emphasis is placed on them. Pattern grime (i.e., degradation of the instance due to buildup of unrelated artifacts) has been pointed out as one recurrent reason for the decay of GoF pattern instances. Goal: Seeking to explore this issue, we investigate the existence of relations between the accumulation of grime in pattern instances and various related factors: (a) projects, (b) pattern types, (c) developers, and (d) the structural characteristics of the pattern participating classes. Method: For that, we empirically assessed these relations through an industrial exploratory case study involving five projects (approx. 260,000 lines of code). Results: Our findings suggest a linear accumulation of pattern grime, which may depend on pattern type and developer. Moreover, we present and discuss a series of correlations between the accumulation of pattern grime and structural characteristics. Conclusions: The outcome of our study can benefit both researchers and practitioners, as it points to interesting future work opportunities and also implications relevant to the refinement of best practices, the raise awareness among developers, and the monitoring of pattern grime accumulation.
منابع مشابه
Design Pattern Decay – a Study of Design Pattern Grime and Its Impact on Quality and Technical Debt
Technical debt is a financial metaphor describing the tradeoff between the short term benefits gained and long term consequences of design and implementation shortcuts taken over the evolution of a software product. These shortcuts typically manifest as design disharmonies such as code smells, anti-patterns, design pattern grime, modularity violations, or violations of good coding rules. Curren...
متن کاملDesign Pattern Decay: An Extended Taxonomy and Empirical Study of Grime and its Impact on Design Pattern Evolution
Design patterns are well known solutions to common problems and are extensively utilized in software development. Yet, little empirical work has been conducted to evaluate or validate the consequences that poor design decisions have on pattern realizations. This paper describes a research program to further the understanding of design pattern evolution. Specifically, we focus on design pattern ...
متن کاملA Research Plan to Characterize, Evaluate, and Predict the Impacts of Behavioral Decay in Design Patterns
We propose a research plan to further the understanding of design pattern evolution. Current research into design pattern evolution focuses on the structural elements of decay, which is realized as structural grime. We plan to expand the current state of research by introducing the notion of behavioral grime, or unwanted artifacts that appear at run-time in a pattern. This form of grime may be ...
متن کاملDesign of a reliable supply chain network with responsiveness considerations under uncertainty: case study of an Iranian tire manufacturer
This paper proposes a bi-objective reliable supply chain network design that immunizes the network against different sources of uncertainties. In this regard, scenario based stochastic programming method is applied to model different disruption scenarios affecting accurate performance of network stages. Also, reliable and unreliable facilities are suggested for lessening vulnerability of networ...
متن کاملطبقهبندی و بررسی روند تغییرات طرح قابقابی در قالیهای روستایی چهارمحال و بختیاری
Rugs in Chaharmahal va Bakhtiari have a great variety of design patterns and colors. One of these patterns is the "frame" design pattern that has its own variations. Frame design patterns are created in two ways: brick and Qabqabi. This paper will try to study the Qabqabi design pattern and its variants in rural area rug and its evolution. Variations of Qabqabi design pattern in...
متن کامل